package cn.tedu.weibo.controller;


import cn.tedu.weibo.pojo.dto.UserLoginDTO;
import cn.tedu.weibo.pojo.dto.UserRegDTO;
import cn.tedu.weibo.pojo.vo.UserVO;
import cn.tedu.weibo.response.JsonResult;
import cn.tedu.weibo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

@RestController
@RequestMapping("/v1/users")
public class UserController {

    @Autowired
    private UserService userService;
    @PostMapping("reg")
    //之前前端发过来的是JSON格式的JS对象,需要@RequestBody注解映射到userRegDTO对象的属性上
    //public JsonResult reg(@RequestBody UserRegDTO userRegDTO){
    //现在前端发过来的是qs处理过后的查询字符串,不需要@RequestBody注解映射了
    //以后统一去掉@RequestBody注解,数据由前端处理好再发到Controller
    public JsonResult reg(UserRegDTO userRegDTO){
        System.out.println("参数: " + userRegDTO);
        //控制层不再涉及业务,只需要调用业务层干活即可
        userService.reg(userRegDTO);
        return JsonResult.ok();
    }
    @PostMapping("login")
    public JsonResult login(UserLoginDTO userLoginDTO){
        System.out.println("参数 : " + userLoginDTO);
        //2.调用service层方法
       UserVO userVO=userService.login(userLoginDTO);
//        return JsonResult.ok(); //版本一
        //优化:将查到的用户数据装到ok()中一起返回给前端,这样前端就可以拿到登录的用户数据了
        return JsonResult.ok(userVO);
    }
}
